Section: Software
StarPU
Participants : Cédric Augonnet, Nicolas Collin, Nathalie Furmento, Cyril Roelandt, Samuel Thibault, Ludovic Courtès.
-
StarPU permits high performance libraries or compiler environments to exploit heterogeneous multicore machines possibly equipped with GPGPUs or Cell processors.
-
StarPU offers a unified offloadable task abstraction named codelet.In case a codelet may run on heterogeneous architectures, it is possible to specify one function for each architectures (e.g. one function for CUDA and one function for CPUs).
-
StarPU takes care to schedule and execute those codelets as efficiently as possible over the entire machine. A high-level data management library enforces memory coherency over the machine: before a codelet starts (e.g. on an accelerator), all its data are transparently made available on the compute resource.
-
StarPU obtains portable performances by efficiently (and easily) using all computing resources at the same time.
-
StarPU also takes advantage of the heterogeneous nature of a machine, for instance by using scheduling strategies based on auto-tuned performance models.
-
StarPU can also leverage existing parallel implementations, by supporting parallel tasks, which can be run concurrently over the machine.
-
StarPU provides a reduction mode, which permit to further optimize data management when results have to be reduced.
-
StarPU provides integration in MPI clusters through a lightweight DSM over MPI.
-
StarPU comes with a plug-in for the GNU Compiler Collection (GCC), which extends languages of the C family with syntactic devices to describe StarPU 's main programming concepts in a concise, high-level way.